package cn.com.headfree.welfare.service.impl;

import cn.com.headfree.welfare.entity.FlPtr;
import cn.com.headfree.welfare.entity.FlXztx;
import cn.com.headfree.welfare.dao.FlXztxDao;
import cn.com.headfree.welfare.service.FlXztxService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (FlXztx)表服务实现类
 *
 * @author makejava
 * @since 2021-12-29 18:49:46
 */
@Service("flXztxService")
public class FlXztxServiceImpl implements FlXztxService {
    @Resource
    private FlXztxDao flXztxDao;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public FlXztx queryById(Integer id) {
        return this.flXztxDao.queryById(id);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    @Override
    public List<FlXztx> queryAllByLimit(int offset, int limit) {
        return this.flXztxDao.queryAllByLimit(offset, limit);
    }

    /**
     * 新增数据
     *
     * @param flXztx 实例对象
     * @return 实例对象
     */
    @Override
    public FlXztx insert(FlXztx flXztx) {
        if(flXztx.getSsdwmcId()!=null){
            flXztx.setSsdwmc( this.flXztxDao.getOrgName(flXztx.getSsdwmcId()));
        }
        this.flXztxDao.insert(flXztx);
        return flXztx;
    }

    /**
     * 修改数据
     *
     * @param flXztx 实例对象
     * @return 实例对象
     */
    @Override
    public FlXztx update(FlXztx flXztx) {
        if(flXztx.getSsdwmcId()!=null){
            flXztx.setSsdwmc( this.flXztxDao.getOrgName(flXztx.getSsdwmcId()));
        }
        this.flXztxDao.update(flXztx);
        return this.queryById(flXztx.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Integer id) {
        return this.flXztxDao.deleteById(id) > 0;
    }

    @Override
    public PageInfo<FlXztx> queryAll(FlXztx flXztx){
        PageHelper.startPage(flXztx.getPage(), flXztx.getPageSize());
        flXztx.setDelSign(0);
        List<FlXztx> list =this.flXztxDao.queryAll(flXztx);
        PageInfo<FlXztx> pageInfo = new PageInfo<>(list);
        return pageInfo;
    }
}
